Jump to content
  • 0

проблема с margin


Odrin
 Share

Question

вот простой пример - http://jsfiddle.net/keut3/

Почему так выходит? Ведь у вложенного дива (.panel) отступы должны браться относительно родителя (.phone)? А выходит, как будто margin задан body.

Как исправить?

Наверно, это как- то связанно с Margin Collapsing? Никогда его смысла не понимал...

Edited by Odrin
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

padding не катит, как видите. Нужно, что бы серый div отступал от родителя.

Добавтье position: absolute; для .panel тогда будет так, как и предполагалось.

Считаю absolute плохим тоном. Использовать его надо только тогда, когда без него не обойтись. Для отступов существует margin. Только с какого он тут не работает и как надо сделать, чтоб работал?

Edited by Odrin
Link to comment
Share on other sites

  • 0

Еще хуже =)

В общем сам разобрался =)

http://jsfiddle.net/keut3/4/

Помогла эта статья. Может кому еще пригодится.

Если в двух словах - как я и подумал, это "Margin Collapsing".

"Если у родительского элемента нет ограничивающих факторов( об этих факторах я напишу ниже ), то margin переходит от внутреннего элемента к внешнему, после чего выбирается по старой схеме этот margin ( если одноименные. то выбирается наибольший, для разноименный происходит сложение .)"

И решение:

"Внешнему элементу поставить border, например border:1px solid black;

Можно добавить padding, например padding:10px;

И последнее правило — overflow(любое значение, кроме visible)"

P.S. Статью однозначно в закладки)

Edited by Odrin
  • Like 1
Link to comment
Share on other sites

  • 0

Чем?

Тем, что отступа между блоками нету. А мне именно это нужно.

Ну это уже вырожденный случай. И, как я уже писал выше, "И последнее правило — overflow(любое значение, кроме visible)". Да и еще +2 способа решения этой задачи =)

Link to comment
Share on other sites

  • 0

Чем?

Тем, что отступа между блоками нету. А мне именно это нужно.

Ну а подумать и задать отступ нужному родителю, если уж я ошиблась, это разве сложно?

http://jsfiddle.net/keut3/17/

Link to comment
Share on other sites

  • 0

Ну а подумать и задать отступ нужному родителю, если уж я ошиблась, это разве сложно?

http://jsfiddle.net/keut3/17/

Для этого Вы добавили в страницу еще 1 div. А это не есть хорошо.

Ради качества я бы добавил хоть 10 дивов)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy